package com.eshop.modules.activity.service;

import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.eshop.modules.activity.service.dto.StoreCouponIssueDto;
import java.util.Map;
import org.springframework.data.domain.Pageable;
import com.eshop.modules.activity.service.dto.StoreCouponIssueQueryCriteria;
import com.eshop.modules.activity.vo.StoreCouponIssueQueryVo;
import java.util.List;
import com.eshop.modules.activity.domain.StoreCouponIssue;
import com.eshop.common.service.BaseService;

public interface StoreCouponIssueService extends BaseService<StoreCouponIssue>
{
    void issueUserCoupon(final Integer id, final Long uid);
    
    List<StoreCouponIssueQueryVo> getCouponList(final int page, final int limit, final Long uid, final Long productId, final Integer type);
    
    Map<String, Object> queryAll(final StoreCouponIssueQueryCriteria criteria, final Pageable pageable);
    
    List<StoreCouponIssue> queryAll(final StoreCouponIssueQueryCriteria criteria);
    
    void download(final List<StoreCouponIssueDto> all, final HttpServletResponse response) throws IOException;
}
